<html>
<head>
    <title>篮球社团管理 - 社团管理</title>
    <meta name="keywords" content="篮球,社团,管理系统,社">
    <meta name="description" content="高校篮球社团管理系统，计算机等相关的技术，将各社员与学校管理联系起来实现即时信息通讯，为老师学生节约了大量的时间与精力，并大大提高了学校管理工作的效率与质量，同时精简了学校的管理机构。">

    <link rel="shortcut icon" href="/static/favicon.ico">
    <link rel="stylesheet" href="/static/layui/css/layui.css">
</head>
<body>
<div class="layui-tab">
    <ul class="layui-tab-title">
        <li class="layui-this">活动审批</li>
        <li>社团管理</li>
        <li>新闻管理</li>
    </ul>
    <div class="layui-tab-content">
        <!-- 活动审批部分 -->
        <div class="layui-tab-item layui-show">
            <table class="layui-table" id="activity_table" lay-filter="activity"></table>
        </div>
        <!-- 活动审批结束 -->
        <!-- 社团管理部分 -->
        <div class="layui-tab-item">
            <table class="layui-table" id="club_table" lay-filter="club"></table>
        </div>
        <!-- 社团管理部分结束 -->
        <!-- 新闻管理部分 -->
        <div class="layui-tab-item">
            <table class="layui-table" id="news_table" lay-filter="news"></table>
        </div>
        <!-- 新闻管理结束 -->
    </div>
</div>

<!-- 社团管理相关 -->
<script type="text/html" id="toolbarClub">
    <div class="layui-btn-container">
        <button class="layui-btn layui-btn-sm" lay-event="add">添加</button>
        <button class="layui-btn layui-btn-sm" lay-event="refresh">刷新</button>
    </div>
</script>
<script type="text/html" id="barClub">
    <a class="layui-btn layui-btn-xs" lay-event="set">设置社长</a>
</script>
<!-- 活动管理相关 -->
<script type="text/html" id="toolbarActivity">
    <div class="layui-btn-container">
        <button class="layui-btn layui-btn-sm" lay-event="pass">通过</button>
        <button class="layui-btn layui-btn-sm" lay-event="reject">拒绝</button>
        <button class="layui-btn layui-btn-sm" lay-event="refresh">刷新</button>
    </div>
</script>
<script type="text/html" id="barActivity">
    <a class="layui-btn layui-btn-xs" lay-event="pass">通过</a>
    <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="reject">拒绝</a>
</script>
<!-- 新闻管理相关 -->
<script type="text/html" id="toolbarNews">
    <div class="layui-btn-container">
        <button class="layui-btn layui-btn-sm" lay-event="add">发布</button>
        <button class="layui-btn layui-btn-sm" lay-event="delete">删除</button>
        <button class="layui-btn layui-btn-sm" lay-event="refresh">刷新</button>
    </div>
</script>
<script type="text/html" id="barNews">
    <a class="layui-btn layui-btn-xs" lay-event="edit">编辑</a>
    <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>
</script>
<script src="/static/layui/layui.js"></script>
<script src="/static/js/jquery.min.js"></script>
<script>
    //注意：选项卡 依赖 element 模块，否则无法进行功能性操作
    layui.use('element', function(){
        var element = layui.element;
    });
</script>
<!-- 活动批准相关 -->
<script>
    layui.use('table', function(){
        var table = layui.table;
        //执行渲染
        //活动管理实例
        var tableIns = table.render({
            elem: '#activity_table'
            ,height: 500
            ,url: '/selectActivityByClubAuth?minAuth=0&maxAuth=1' //数据接口
            ,parseData: function(res) { //res 即为原始返回的数据
                var status = ['待审核','审核通过','进行中','已结束']
                for(var i = 0;i < res.length;i++){
                    res[i].status = status[res[i].status];
                    res[i].clubname = res[i].aclub.cname
                }
                return {
                    "code": 0, //解析接口状态
                    "msg": "", //解析提示文本
                    "count": res.length, //解析数据长度
                    "data": res //解析数据列表
                }}
            ,page: true //开启分页
            ,toolbar: '#toolbarActivity'
            ,cols: [[ //表头
                {type:'checkbox', fixed: 'left'}
                ,{field: 'aid', title: 'ID', width:80, sort: true, fixed: 'left'}
                ,{field: 'aname', title: '活动名称', width:100, sort:true}
                ,{field: 'acontent', title: '活动内容', width:100, sort: true}
                ,{field: 'clubname', title: '社团', width:100, sort: true}
                ,{field: 'time', title: '活动时间', width:150}
                ,{field: 'duration', title: '持续时间', width:100}
                ,{field: 'site', title: '活动地点', width:100}
                ,{field: 'status', title: '状态', width: 180}
                ,{field: 'member_count', title: '参与人数', width: 100}
                ,{fixed: 'right', title:'操作', toolbar: '#barActivity', width:150}
            ]]
        });
        //头工具栏事件
        table.on('toolbar(activity)', function(obj){
            var checkStatus = table.checkStatus(obj.config.id);
            switch(obj.event){
                case 'pass':      //  改成通过
                    var data = [];
                    for(var i = 0;i < checkStatus.data.length;i++){
                        data.push(checkStatus.data[i].aid)
                    }
                    layer.confirm('确定批准这' + checkStatus.data.length + '个活动吗？',function(index){
                        $.ajax({
                            type: 'post',
                            url:'/passActivity',
                            traditional:true,
                            data:{
                                aids:data
                            },
                            success: function(res){
                                console.log(res)
                                tableIns.reload()
                                layer.close(index)
                            }
                        })
                    })
                    break;
                case 'reject':
                    var data = [];
                    for(var i = 0;i < checkStatus.data.length;i++){
                        data.push(checkStatus.data[i].aid)
                    }
                    layer.prompt({
                        formType: 2
                        ,title: '拒绝原因'
                        ,value: ''
                    }, function(value, index){
                        $.ajax({
                            type: 'post',
                            url:'/rejectActivity',
                            traditional:true,
                            data:{
                                aids:data,
                                cause: value
                            },
                            success: function(res){
                                console.log(res)
                                layer.msg(res.msg)
                                tableIns.reload()
                            }
                        })
                        layer.close(index);
                    });
                    break;
                case 'refresh':
                    tableIns.reload()
                    break;
                case 'getCheckLength':
                    var data = checkStatus.data;
                    layer.msg('选中了：'+ data.length + ' 个');
                    break;
                case 'isAll':
                    layer.msg(checkStatus.isAll ? '全选': '未全选');
                    break;

                //自定义头工具栏右侧图标 - 提示
                case 'LAYTABLE_TIPS':
                    layer.alert('这是工具栏右侧自定义的一个图标按钮');
                    break;
            };
        });
        //监听行工具事件
        table.on('tool(activity)', function(obj){
            var data = obj.data;
            console.log(obj)
            if(obj.event === 'pass'){
                if(obj.data.status == '审核通过'){
                    layer.msg("该活动已通过！");
                    return
                }
                layer.confirm('通过活动' + obj.data.aname + '吗？', function(index){
                    $.ajax({
                        type: 'post',
                        url:'/passActivity',
                        traditional:true,
                        data:{
                            aids:[obj.data.aid]
                        },
                        success: function(res){
                            console.log(res)
                            layer.msg(res.msg)
                            tableIns.reload()
                        }
                    })
                    layer.close(index);
                });
            } else if(obj.event === 'reject'){
                layer.prompt({
                    formType: 2
                    ,title: '拒绝原因'
                    ,value: ''
                }, function(value, index){
                    $.ajax({
                        type: 'post',
                        url:'/rejectActivity',
                        traditional:true,
                        data:{
                            aids:[obj.data.aid],
                            cause: value
                        },
                        success: function(res){
                            console.log(res)
                            layer.msg(res.msg)
                            tableIns.reload()
                        }
                    })
                    layer.close(index);
                });
            }
        });
    })
</script>
<!-- 社团管理相关 -->
<script>
    layui.use('table', function(){
        var table = layui.table;
        //执行渲染
        //活动管理实例
        var tableIns2 = table.render({
            elem: '#club_table'
            ,height: 500
            ,url: '/getClubList' //数据接口
            ,parseData: function(res) { //res 即为原始返回的数据
                console.log(res)
                for(var i = 0;i < res.length;i++){
                    res[i].department = res[i].manager.department;
                    res[i].manager = res[i].manager.uname;
                }
                return {
                    "code": 0, //解析接口状态
                    "msg": "", //解析提示文本
                    "count": res.length, //解析数据长度
                    "data": res //解析数据列表
                }}
            ,page: true //开启分页
            ,toolbar: '#toolbarClub'
            ,cols: [[ //表头
                {type:'checkbox', fixed: 'left'}
                ,{field: 'cid', title: 'ID', width:80, sort: true, fixed: 'left'}
                ,{field: 'cname', title: '社团名称', width:100, sort:true}
                ,{field: 'introduce', title: '社团介绍', width:100, sort: true}
                ,{field: 'member_count', title: '社员数量', width:100, sort: true}
                ,{field: 'department', title: '院系', width:150}
                ,{field: 'manager', title: '社长', width:100, sort: true}
                ,{fixed: 'right', title:'操作', toolbar: '#barClub', width:150}
            ]]
        });
        //头工具栏事件
        table.on('toolbar(club)', function(obj){
            var checkStatus = table.checkStatus(obj.config.id);
            switch(obj.event){
                case 'del':      //  改成通过
                    var data = [];
                    for(var i = 0;i < checkStatus.data.length;i++){
                        data.push(checkStatus.data[i].cid)
                    }
                    layer.confirm('确定删除这' + checkStatus.data.length + '个社团吗？',function(index){
                        $.ajax({
                            type: 'post',
                            url:'/deleteClub',
                            traditional:true,
                            data:{
                                cids:data
                            },
                            success: function(res){
                                console.log(res)
                                tableIns2.reload()
                                layer.close(index)
                            }
                        })
                    })
                    break;
                case 'add':
                    layer.msg("暂无权限")
                    // var data = [];
                    // for(var i = 0;i < checkStatus.data.length;i++){
                    //     data.push(checkStatus.data[i].aid)
                    // }
                    // layer.prompt({
                    //     formType: 2
                    //     ,title: '输入社长学号'
                    //     ,value: ''
                    // }, function(value, index){
                    //     $.ajax({
                    //         type: 'post',
                    //         url:'/rejectActivity',
                    //         traditional:true,
                    //         data:{
                    //             aids:data,
                    //             cause: value
                    //         },
                    //         success: function(res){
                    //             console.log(res)
                    //             layer.msg(res.msg)
                    //             tableIns2.reload()
                    //         }
                    //     })
                    //     layer.close(index);
                    // });
                    break;
                case 'refresh':
                    tableIns2.reload()
                    break;
                case 'getCheckLength':
                    var data = checkStatus.data;
                    layer.msg('选中了：'+ data.length + ' 个');
                    break;
                case 'isAll':
                    layer.msg(checkStatus.isAll ? '全选': '未全选');
                    break;

                //自定义头工具栏右侧图标 - 提示
                case 'LAYTABLE_TIPS':
                    layer.alert('这是工具栏右侧自定义的一个图标按钮');
                    break;
            };
        });
        //监听行工具事件
        table.on('tool(club)', function(obj){
            var data = obj.data;
            console.log(obj)
            if(obj.event === 'del'){
                layer.confirm('确定删除' + obj.data.cname + '吗，社员自动退出？', function(index){
                    $.ajax({
                        type: 'post',
                        url:'/deleteClub',
                        traditional:true,
                        data:{
                            cids:[obj.data.cid]
                        },
                        success: function(res){
                            console.log(res)
                            layer.msg(res.msg)
                            tableIns2.reload()
                        }
                    })
                    layer.close(index);
                });
            } else if(obj.event === 'set'){
                layer.prompt({
                    formType: 2
                    ,title: '输入社长学号'
                    ,value: ''
                }, function(value, index){
                    $.ajax({
                        type: 'post',
                        url:'/setManager',
                        traditional:true,
                        data:{
                            cid: obj.data.cid,
                            no: value
                        },
                        success: function(res){
                            console.log(res)
                            layer.msg(res.msg)
                            tableIns2.reload()
                        }
                    })
                    layer.close(index);
                });
            }
        });
    })
</script>
<!-- 新闻管理相关 -->
<script>
    //注意：选项卡 依赖 element 模块，否则无法进行功能性操作
    layui.use('element', function(){
        var element = layui.element;
    });
    layui.use('table', function(){
        var table = layui.table;
        //执行渲染
        //第三个实例
        var tableIns3 = table.render({
            elem: '#news_table'
            ,height: 500
            ,url: '/getNewsList' //数据接口
            ,parseData: function(res) { //res 即为原始返回的数据
                for(var i = 0;i < res.length;i++){
                    res[i].club = res[i].club.cname
                    res[i].author = res[i].author.uname
                }
                return {
                    "code": 0, //解析接口状态
                    "msg": "", //解析提示文本
                    "count": res.length, //解析数据长度
                    "data": res //解析数据列表
                }}
            ,page: true //开启分页
            ,toolbar: '#toolbarNews'
            ,cols: [[ //表头
                {type:'checkbox', fixed: 'left'}
                ,{field: 'nid', title: 'ID', width:80, sort: true, fixed: 'left'}
                ,{field: 'title', title: '标题', width:100, sort:true}
                ,{field: 'uname', title: '作者', width:150}
                ,{field: 'club', title: '社团', width:150}
                ,{field: 'time', title: '发布时间', width:150}
                ,{fixed: 'right', title:'操作', toolbar: '#barNews', width:150}
            ]]
        });
        //头工具栏事件
        table.on('toolbar(news)', function(obj){
            var checkStatus = table.checkStatus(obj.config.id);
            switch(obj.event){
                case 'add':
                    window.open("/addNews")
                    break;
                case 'delete':
                    var data = [];
                    for(var i = 0;i < checkStatus.data.length;i++){
                        data.push(checkStatus.data[i].nid)
                    }
                    layer.confirm('确定删除这' + checkStatus.data.length + '个新闻吗？',function(index){
                        $.ajax({
                            type: 'post',
                            url:'/deleteNews',
                            traditional:true,
                            data:{
                                nids:data
                            },
                            success: function(res){
                                console.log(res)
                                tableIns3.reload()
                                layer.close(index)
                            }
                        })
                    })
                    break;
                case 'refresh':
                    tableIns3.reload()
                    break;
                case 'getCheckLength':
                    var data = checkStatus.data;
                    layer.msg('选中了：'+ data.length + ' 个');
                    break;
                case 'isAll':
                    layer.msg(checkStatus.isAll ? '全选': '未全选');
                    break;

                //自定义头工具栏右侧图标 - 提示
                case 'LAYTABLE_TIPS':
                    layer.alert('这是工具栏右侧自定义的一个图标按钮');
                    break;
            };
        });
        //监听行工具事件
        table.on('tool(news)', function(obj){
            var data = obj.data;
            console.log(obj)
            if(obj.event === 'del'){
                layer.confirm('确定删除该新闻吗？', function(index){
                    $.ajax({
                        type: 'post',
                        url:'/deleteNews',
                        traditional:true,
                        data:{
                            nids:[obj.data.nid]
                        },
                        success: function(res){
                            console.log(res)
                            obj.del()
                        }
                    })
                    layer.close(index);
                });
            } else if(obj.event === 'edit'){
                alert("编辑")
                // layer.prompt({
                //     formType: 2
                //     ,value: data.email
                // }, function(value, index){
                //     obj.update({
                //         email: value
                //     });
                //     layer.close(index);
                // });
            }
        });
    })
</script>
<!-- 表单提交事件 -->
<script>
    //Demo
    layui.use('form', function(){
        var form = layui.form;
        //监听提交
        form.on('submit', function(data){
            console.log(data.field)
            console.log(data.form.action)
            $.ajax({
                url:data.form.action,
                data: data.field,
                success:function(res){
                    layer.msg(res.msg);
                }
            })
            return false;
        });
    });
</script>
</body>
</html>